package com.ctshk.rpc.system.service;


import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.rpc.system.dto.mian.data.MainDataSubjectDTO;
import com.ctshk.rpc.system.req.main.data.MainDataSubjectAddReq;
import com.ctshk.rpc.system.req.main.data.MainDataSubjectListReq;

/**
 * <p>
 * 主数据 - 科目 服务类
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-06-22
 */
public interface IMainDataSubjectService {

    /**
     * 列表
     * @param req
     * @return
     */
    PageResponse<MainDataSubjectDTO> list(MainDataSubjectListReq req);

    /**
     * 新增/修改
     * @param req
     * @param userId
     * @return
     */
    Result add(MainDataSubjectAddReq req, Long userId);

    /**
     * 详情
     * @param id
     * @return
     */
    Result<MainDataSubjectDTO> detail(Long id);

    /**
     * 修改状态
     * @param id
     * @param userId
     * @return
     */
    Result status(Long id, Long userId);

    /**
     * 删除
     * @param id
     * @param userId
     * @return
     */
    Result del(Long id, Long userId);

    /**
     * 根据业务类型查询（内部接口）
     * @param businessType
     * @param collectionType
     * @return
     */
    MainDataSubjectDTO queryByCondition(Integer businessType,Integer collectionType);
}
